package juanca.mole;


import java.util.ArrayList;

import ClasesExtras.AdaptadorMaquinas;
import ClasesExtras.ItemClientes;
import ClasesExtras.ManejadorCampos;
import ClasesExtras.handlerAlertMessage;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;

public class BuscarCliente extends Activity {

	private EditText etBusqNomClient;
	private ListView lvClientes;
	private ManejadorCampos manejador;
	private handlerAlertMessage manejadorMensajes;
	private Activity activity;
	
	private static final String URL_BUSCAR_CLIENTES = "http://10.1.1.174:3000/clientes.json";
	
	ArrayList<ItemClientes> Lista_clientes;
	AdaptadorMaquinas adaptador;
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_buscar_cliente);

		etBusqNomClient = (EditText) findViewById(R.id.etBusqNomClient);
		lvClientes = (ListView) findViewById(R.id.lvClientes);
		manejadorMensajes = new handlerAlertMessage();
		manejador = new ManejadorCampos();
		activity = this;
		this.seleccionarItemListaClient();
		this.listaCiudad();

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.layout_buscar_cliente, menu);
		return true;
	}

	/* Spinner de buscar ciudad del cliente */
	public void listaCiudad() {

		Spinner spinnerListaCiudades = (Spinner) findViewById(R.id.spiBuscarPor);// cambiar
		ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
				this, R.array.ciudad, android.R.layout.simple_spinner_item);
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spinnerListaCiudades.setAdapter(adapter);
	}

	// metodo para buscar cliente por ciudad, nombre y/o dirección
	public void buscarCli(View v) {
		int nombre = manejador.validarNombre(etBusqNomClient);

		if (nombre != 0) {
			switch (nombre) {
			case 23:
				manejadorMensajes.alertMessageOneButton(activity,
						R.string.tituloAlerta, R.string.msjNombEspec,
						R.string.btnAceptar);
				break;
			case 21:
				manejadorMensajes.alertMessageOneButton(activity,
						R.string.tituloAlerta, R.string.msjNombMinMax,
						R.string.btnAceptar);
				break;
			}
		} else {
			Context context = getApplicationContext();
			CharSequence text = "¡Muy bien!";
			int duration = Toast.LENGTH_SHORT;

			Toast toast = Toast.makeText(context, text, duration);
			toast.show();
		}
	}

	/* Método que genera el evento click en cada uno de los items */
	public void seleccionarItemListaClient() {
		lvClientes.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View v,
					int posicion, long id) {
				if (posicion == 0) {
					goEntregaMercancia(v);
				}
			}
		});
	}

	public void goEntregaMercancia(View v) {
		Intent intent = new Intent();
		intent.setClass(this, EntregaMercancia.class);
		startActivity(intent);
	}

	//metodo que controla el bot�n atr�s
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {

		if (keyCode == KeyEvent.KEYCODE_BACK) {

			new AlertDialog.Builder(this)
					.setIcon(android.R.drawable.ic_dialog_alert)
					.setTitle(R.string.tituloAlerta)
					.setMessage(R.string.msjPregunta)
					.setNegativeButton(R.string.btnNo, null)// sin listener
					.setPositiveButton(R.string.btnSi,
							new DialogInterface.OnClickListener() {// un
																	// listener
																	// que al
																	// pulsar,
																	// cierre la
																	// aplicaci�n
								@Override
								public void onClick(DialogInterface dialog,
										int which) {
									// Salir
									BuscarCliente.this.finish();
								}
							}).show();

			// Si el listener devuelve true, significa que el evento esta
			// procesado, y nadie debe hacer nada mas
			return true;
		}
		// para las demas cosas, se reenvia el evento al listener habitual
		return super.onKeyDown(keyCode, event);
	}
	
}
